This is CursorFixer 1.0, a system extension (INIT) which dynamically replaces selected cursors with user-configurable substitutes. It was written because a friend complained that the thin "I-Beam" text entry cursor disappeared when moved on her PowerBook. The obvious quick hack, editing the CURS 1 resource in the System file, failed in various circumstances for various reasons: in most cases, the system goes for the CURS 1 resource it has hidden in ROM; some applications have their own I-Beam CURS resources; and some applications (notably Microsoft Word) apparently don't use CURS resources at all.
The solution to my friend's problem is this extension. It adds a routine to the SetCursor trap which looks at the actual pattern of the cursor being set, and if it matches one of the ones it knows about, it substitutes a different cursor. To determine which cursors are affected, and what the substitutes are, CursorFixer looks in its own file for CURS resources. Targets for substitution are any CURS resources with an ID less than 1000; the substitute CURS should have that ID plus 1000. CursorFixer initially has two cursor pairs: the standard I-Beam with ID 1, with a "fat" I-Beam substitute with ID 1001; and the standard crosshair (used by graphics programs) with an ID of 2 and an identical substitute with an ID of 1002. If you want a more visible crosshair on your PowerBook (or any Mac), use ResEdit to diddle CURS 1002 to be whatever you want. If there are any other cursors you want modified, paste the original in (or draw it from scratch) with ResEdit, giving it any ID less than 1000, then duplicate it and give the duplicate the original ID plus 1000. Modify the substitute cursor (the one with ID 1000 or greater) in any way you want. CursorFixer can handle up to 25 cursor pairs.
To install CursorFixer, simply copy it into your System folder (into the Extensions folder, under System 7), and reboot. Rebooting is also necessary after any changes or additions to the CURS resources in CursorFixer.
CursorFixer is written in THINK Pascal; it uses Paul Mercer's ShowINIT routine to display an icon at boot time. If the boot icon is X-ed out, that indicates that either no appropriate cursor pairs were found, or there wasn't enough free memory in the System heap to store the cursor pairs (this is fairly unlikely).